This is the readme file for Parts Catalog.

Parts Catalog is and always will be Free Ware!

Any comments or suggestions will be gladly accepted.
    
 
About:

    Parts Catalog is a program used to inventory your collection of Lego parts.  The main goal is to 
    be able to check 2 list to see which parts are missing.  To build your list you could just download
    certified list of Lego sets and Combine the list.  Then add any single parts that may not be from a set.


Features:

    - Make and save your own inventory list
    - Combine and save inventory list
    - Sort parts by Part Number, Description, Color, or Count
    - View an image of the part (if an image is available)
    - Compare 2 list to see which parts are missing
    - Compare 2 list to see which parts you have
    - Make an inventory list from LDraw dat files  
    - Open/Save a list in the Peeron (.prn) format
    - Open/Save a list in the CSV (.csv) format
    - Open/Save a list in the XLS (.xls) format
    - Open a list in the Bricklink XML (.xml) format
    - Open/Save a list in the Bricklink (.blk) format
    - Open a .htm inventory file saved from the peeron site  
    - Render images using LDraw dat files
    - Zoom and Rotate images that are rendered with LDraw dat files
    - Download inventories from peeron
    - Make labels from LDraw files
    
 
How to add pictures: 

    Parts Catalog is nicer to use if you have pictures of all the official lego parts.  Parts Catalog does not
    come with any pictures installed.  You will need to find and add your own pictures.  A few good places to 
    get pictures of parts are: http://www.el-lutzo.de/lego/partlst.html and ftp://ftp.peeron.com/thumbs.zip.
    You will need to unzip and place the gifs in /parts catalog/images/gifs and the jpgs in /parts catalog/images/jpgs.  
    PNGs can be placed in /parts catalog/images/pngs.  The name of the image must be the part number!  
    

How to update the masterlist.txt file:

    You can update the master.txt file by going to peeron.com and downloading a newer list and 
    placing it in the parts catalog directory.

Want List (Things that need to be added/done):
    - ?? you tell me and I may add it ??
    - Parts Catalog is written in Delphi 4.  So... if there is a Kylix programer out there that would like to
      port it to linux, Please let me know and I will send you the source code files.
    - finalize the color list
    - Auto email to peeron can be done but it needs quite a bit of user input/settings: host, user id, and
      return email address/name.  
      
      
Bugs (confirmed and unconfirmed):   
    - Problems have been reported about printing.  (this problem is caused by not having a default print driver installed)
    - Problems with moving columns - I did not write the code for the grid component that i'm using.  it is a 
      freeware component written by some one else.  i don't have the source so i can't fix the strange behaviors. 
    - You may get a 'JPEG error #52' this means that the image file for the part you are trying to look at is not a jpg.  
      Change the file extension to gif and move this image to the /gif directroy.

    
History:

Version 0.0.46 01-04-06 (new year new release)
    - Peeron has changed color names.  Partscatalog will now use the new names when loading and old inventory you 
      have saved.  These are the color name changes:
          DkGray -> OldDkGray	 
          Brown -> OldBrown
          Gray -> OldGray
          Silver -> ChromeSilver
          DkPurple -> MdLilac 
          LtSwampGreen -> Lime
          Gold -> ChromeGold
          LtGray -> ScalaGray 
          FlatSilver -> PearlLtGray
      Please let me know if there are more changed color names.  Partscatalog quietly changes these names.  You
      will have to save your inventory if you want the new names to be used permanently. 


Version 0.0.45 09-06-05
    - Updated the color.txt file to match new colors on peeron
    - Fixed problem with downloading invetories that end in -2 -3 -4.  (Margaret Streich requested this change)

Version 0.0.44 04-18-05
    - Fixed problem when adding a new part.
    - Started working on the Peeron upload

Version 0.0.43 03-29-05
    - More improvements to large inventory loading. (Thanks to Stefan Sanders for reporting this bug)
    - Added the 'Combine duplicates' menu option.  Now the user can combine duplicates if they wish.

Version 0.0.42 03-28-05
    - Loading large invenories may be faster now that it updates the invenory box after it is done loading.
    - Improved LDraw colors.  The RGB values are now loaded from the ldconfig.ldr file.
    - Added the filter box.  Type the work you want to filter on into the box and press enter.  Only parts with the filter in it 
      will appear in the list.  Clear the box and press enter and you will see the full list again. 

Version 0.0.41 03-10-05
    - Added new list box that will show optional images for the selected part.

Version 0.0.40 09-07-04
    - Added new colors DkStone, MdStone, and RedBrown.  Can now have a max of 96 colors in the colors.txt file
    - Can now enter 5 digit set numbers for 'Download A Set Inventory'
    - Can now download 'My Parts Inventory' From Peeron (need to enter your Peeron Username and Password on the More page.)
    - Changed the way that inventories are downloaded from Peeron.com.  No more HTML parsing. 
      (need to enter your Peeron Username and Password on the More page.)  I will probably remove the loadhtm file option in a
      future release some time.

Version 0.0.39 04-09-04 (Stefan Jonheimer reported this bug)
    - Fixed a problem with downloading very old inventories from peeron.  These old inventories do not have a 
      'Submitted by' or 'Inventoried by' field at the bottom of the web page.

Version 0.0.38 03-17-04   (TWS Garrison made these suggestions)
    - You can now choose which label to start printing on the page.  example: The first 3 labels may have something already printed on them,
      so you will want to start printing on label 4.
    - Changed the scale on the label image so that it can be smaller.

Version 0.0.37 03-16-04
    - Now labels are previewed and printed on a label templates.  You can choose the label template that you use.  There
      are about 20 templates right now to choose from.  I will have to make a way to add custom templates.

Version 0.0.36 03-02-04 (Jake McKee requested this changes)
    - Now you can make labels for your part bins.  Add the parts to your list that you want make labels for.  (they must 
      be parts that are rendered with LDraw)  Press the Label button.  A new screen will pop up so that you can configure
      how the label will look.  Press the ok button when everything looks good.  You will be asked to choose the directory
      to save the labels.  Right now it only makes bitmaps of the labels.  I will have to come up with a good way to print 
      these on a sheet.  If you want me to continue working on this then bug me about it.  Should i allow a background image
      to be used? 
    - I put a # on the column header line when writing a .prn file.  this is so you can now just up load inventories with out
      the script at peeron complaining.

Version 0.0.35 02-04-04 (Thomas Main requested this changes)
    - Now when you do a search it will also search your list and high light the first occurrence that it finds.
    - Fixed a spelling error in the peeron drop down box 

Version 0.0.34 10-30-03  (Ian Smith requested these changes)
    - Added LDraw scale, x rotation, y rotation, and z rotation sliders.  they appear when the part is being rendered with
      an LDraw dat file.  all 4 new settings can be reset to the recommended settings by double clicking on the image. 
      Being able to manipulate the LDraw image is REALLY COOL!

Version 0.0.33 10-22-03
    - Peeron made changes to their web site so i had to make changes to the htm parsing.
    - Made changes to download set inventory.  the edit box is now cleared and set focus everytime now.

Version 0.0.32 10-07-03
    - If you delete an item it will warn you before you try to load or quit
    - Added the peeron inventory download.  just enter the set number and it will be downloaded and saved in your /inventory directory.

Version 0.0.31 10-02-03
    - Added drag and drop abbility.  you can now drop any of the supported file types on the inventory window on the botton
      right corner and it will be opened.
    - fixed a problem with loading very old peeron .htm files
    - Added a little label under the image that tells where the current picture came from (jpg, gif, png, or rendered with LDraw)

Version 0.0.30 09-24-03
    - Peeron changed their web pages again so i had fix the load Peeron htm file format.  It should still open any old
      htm file you have laying around.
    - Will now prompt you when you try to close, new, or open a file if you have not saved any changes you made.
      I got bit by this one last night after making a huge inventoy and then exiting before i saved.
      also James McGeehan asked for this feature so i figured it was about time to add it.   

Version 0.0.29 09-23-03    (Steve Burge reported these bugs)
    - Fixed problem when adding new part.  does not put an '&' at the begining.
    - Fixed a problem with some pathing text being printed over the Count total in the bottom left corner 
      if the window was set to the smallest size.  The text is not visible now.

Version 0.0.28 09-05-03   
    - Fixed problems with importing the tsv file saved from peeron.
    - Added color to the invlist
    - Added the Slash screen on start up.  The master.txt file is getting really big and taking longer to load.
    - Added a menu item for some upcoming new features.

Version 0.0.27 08-26-03 (Dan Boger <dan@peeron.com> reported these bug and changes)
    - Fixed a problem with parsing the year,pcs,figs,msrp from an .htm page saved from peeron.
    - Changed the tab order of items on the add undefined part page.  The order is as follows: Qty, Bag, Part #, Desc, Notes, Color.
    - Fixed a problem rendering images when LDraw is not found.  If LDraw is not found in the supplied path then rendering dows not take place.
      I also added a warning dialog if you do not set the LDraw path correctly.
    - Changed the load and save of the PRN file.  The Set and Theme lines now start with a # so that peeron can properly parse these files when adding inventories.
    - Can now add parts by pressing ctrl-a when the find box is currently active.  
    - Changed the way the find works.  The first time you do a find it will treat what is typed in the find box as a part number.  It will
      try to find a part that starts with this number.  If a part is not found that starts with this number then a parcial find will be done 
      by searching the part number column and the description column.  All finds after this will try to do a parcial find next till the text 
      in the find box is changed. 

Version 0.0.26 08-26-03
    - added the abbility to import tsv files from peeron.com.  need to be logged into peeron and then go to 
      this link to get a list of your parts: http://www.peeron.com/cgi-bin/invcgis/mypartsexport

Version 0.0.25 07-23-03
    - Cleaned up the code for all the different load types.
    - Updated the link in this readme file for the peeron thumbs.zip file.
    - More colors added

Version 0.0.24b  04-15-03
    - Fixed a bug when loading LDraw files.  parts that were not in the master.txt list were not added to your list.
    - LDraw rendered image support.  if you have LDraw installed then Parts Catalog can use the .dat files to render the
      images of the parts.  in the correct color too!  You need to make sure and set the LDraw directory in the more screen.
      (i know this is a funny place to set it)

Version 0.0.23  10-09-02
    - Fixes to the non color specific compare.

Version 0.0.22  10-08-02
    - Now you can do a compare on parts where color does not matter.
    - Lots of code clean up!  (let me know if something is broken and i will fix it)

Version 0.0.21  10-01-02
    - Added ldr and mpd file imports

Version 0.0.20  09-11-02   (Steve Barber reported this bug)
    - Treeview was not jumping to the correct place in the list when using the arrow keys.  this is now fixed.
    - The treeview will now add children nodes if there are 5 or more instances of the second word of an element.
    - updated the link in this readme file for the peeron thumbs.zip file.
    
Version 0.0.19  09-06-02   (TWS Garrison made these suggestions)
    - Using the arrow keys in the tree view list will move the lego list to that section
    - New short cut key.  ctrl-u = Add Undefined

Version 0.0.18  09-05-02
    - Fixed the xml loading.  i was being a little to strict on the xml format.  will now read xml file
      generated by Briktrak.  Thanks goes to Michael Shiels <MaSSoft@MaSSoftware.Com> for pointing this out.
    - Added the Tree view.  well it's not really a tree view but it is meant to be a short cut to sections 
      in the list of elements.  when the list is being loaded, if there are 5 or more elements that have the same 
      first word in their description then the word is added to the tree view.
      
Version 0.0.17  08-13-02
    - Update master.txt never really updated the master list.  It is now fixed and working correctly.
      Thank goes to TWS Garrison <tws@peeron.com> for pointing this one out!

Version 0.0.16  07-30-02
    - Can now resize the difference window after you do a compare
    - Can now save the difference list
    - The sort order is not scrambled up after a compare
    - When you cancel a compare you do not get a message that you have all the parts
    - When adding an element that already exist the added element is highlighted not the last element in the list 
    - Now it might remember the last directory you opened/saved across program stop/starts (hard to test)
    - The compare was rewritten so that it is more robust.  The compare is now done strictly on part number and color.
      Comments and bag are not considered.
    - The compare now gives you 2 option 'parts you have' or 'parts you need'.  Parts you have is new.
      Suppose you load a list of parts you want.  Then you compare by 'parts you have' to a set inventory that you 
      plan on buying.  You will get a list of the parts you want that are in the set you want to buy. 
    - Can now save in an xls format.  The order of the color column is the order they appear in the colors.txt file.
      Change the order in the colors.txt file if you want to change the column order of the xls file.    
    - Compare save now saves as prn
    - Load xls is now done.  this takes a few seconds.  there are a lot of cells that need to be checked.
      color order does not matter.  Parts Catalog is smart enough to figure it out.    
    - csv save/load is now coma quoted (every field must be quoted not just the ones with commas)
    - Cut the load xls time in half.  it now only checks the number of cells that are used.  was checking the max number of cells.
      (NOTE: the unknown column is not loaded.  don't know what color to give the parts)
    - 'parts you need' should now tell you the correct number of parts you need
    - Save xls now ignores comments and bags.  all elements are grouped by color/number then dumped in the xls file. 
    - Now you can see the list as it is being loaded.  this way you won't think that it is hung when loading a long list.
    - Pressing the 'New' button will instantly  clear the list now.
    - I removed the BETA warning.  This software has over 8 months of testing.
      
Version 0.0.15  06-10-02
    - Peeron.com has dropped the bag information on their htm pages so i had to make a small change to the htm parser
    
Version 0.0.14  03-29-02
    - Fixed a problem with the compare.  Was not doing integer addition when adding part quantities.  

Version 0.0.14  03-29-02
    - Changes were made to colors.txt.  Now has both LDraw and BrickLink colors
    - Changes were made when importing dat, xml, and blk files.  Will convert them to peeron color names.
    * need to finish the colors.txt file.
     
Version 0.0.13  03-05-02
    - Zoom in and out on element image
    - Double clicking on image will set it to normal size.
    - I think i whipped the exception error when deleting elements that have a bag count.
    - Will now remember the last file opened and use that as the default name when saving a file.
    - Now prompts when you try to save a file that already exist.
    - When an undefined element is clicked on the image box will now update properly.  Will tell you there is no image.
    - When updating master.txt the old copy is saved as old_master.txt.  That way if problems happen during the 
      update you can revert to last saved master.txt.  You must rename it though.
    - Added a flashing label that tells the progress of the update master.txt.
    - Multi-Open added.  You can now open x copies of a set.
    - Fixed the compare.  Should now compare when same parts are in different bags.
    
Version 0.0.12  02-25-02
    - If any fields on the main form are active, pressing delete will not ask if you want to delete element....
    - When ever you add an element the count box is active and selected.  Just type in the new value.
    - 2 new import types .blk and .xml  These are for up coming features that will work with bricklink.
    - Fixed the won't add same part in different bag problem again.  how did it get back in there?

Version 0.0.11  02-19-02
    - Updating master.txt is more robust.  It will not wipe out your master.txt if there is a network error.
    - Set number and name are now printed in the caption.  This is the exact same info that is in the Set: box 
      at the bottom of the page.
    - Changed the column order in bottom grid and printing. i hope that i made all the changes everywhere in the code.
    - Change label on Count column to Quantity.
    - Changed Pieces label to Count.
    - Print will now word wrap on Part Name and Notes
    - Fixed combined element when add part is same but bag number is different.
    - Fixed combined element add undefined when description or part number are different.
    - Fixed the column header alignment on the printed report.
    - Fixed so that it now totals the count when importing .htm files.
    - Can now preview the report before printing. (Should we keep this or not?)  

Version 0.0.10  02-15-02 
    - Improved search.  Searches both Part Number and Description fields, case insensitive, partial strings, 
      and also find next.
    - master.txt update now tells the server the agent is Parts Catalog.

Version 0.0.9  02-13-02  (Wednesday the 13th not Friday)
    - Fixed problem with the 'Enter = OK' checkbox.
    - Now grabs all 'More Info' fields from .htm files.
    - Fixed problem with loading elements with different notes in the .prn format. 
    - Can now re-arrange the order of the columns in the bottom grid.
    - Will now print list. 
    - Delete an element form the list will now clear info on the right.
    - Will now download a new version of master.txt from the peeron web site.  Only updates when you use the
      'Help/Update master.txt' menu item.  (I hope this is ok with Dan?)
    - Keyboard shortcuts added      
       ctrl-n = New
       ctrl-o = Open
       ctrl-s = Save
       ctrl-a = Add
       ctrl-c = Compare
       ctrl-p = Print
       Delete key = Delete 

Version 0.0.8  02-11-02
    - Fixed the hint on the find button.
    - Fixed add so that if the notes field is different it will add new element with different notes.
    - Now updates info on right when new element is added
    - Bag and Notes fields are now displayed in bottom grid
    - Can now minimize/maximize form or make it any size you want.
    - Will now remember how big form is and form placement.
    - You can now specify the path to the images.  To do this you need to edit the PartsCat.ini file.  You will
      need to change the path for the following variables: gif_path_Caption, jpg_path_Caption, png_path_Caption.
    - Added the 'Enter = OK' checkbox on the Add form.  If this box is checked then pressing the 'Enter' key
      will be the same as pressing the 'OK' button.
    - Added the 'More' button which opens a new form and lets you add more information about the set.  The following 
      fields can now be saved about the set: Theme, Year, Pcs, Figs, MSRP, Inventoried By, Source, Date.
    - Changed the 'Pieces' in the .prn file to 'Element Count'.  This is the actual count of elements in the set.
      This is not to be confused with the 'Pcs' field which should be the number of elements as stated on the box. 

Version 0.0.7  02-06-02
    - Fixed problems with html import.
    - I don't remember what else

Version 0.0.6  02-06-02
    - Fixed some problems with the notes field when loading .htm files
    - Made fixes to the colors.txt file.  I got this list of colors from www.brickbay.com and never 
      really checked it over.
    - Now when you save an inventory it is saved in the order that it is currently sorted.
    - After adding an element, the inventory list will display the newly added element.
    - Fixed a problem with displaying the ampersand symbol in some labels.
    - Now get to see a sample of the currently selected color when adding elements.

Version 0.0.5  02-05-02
    - Fixed sorting so that the first time you click on a column it is sorted in descending order.
    - Will now import .prn format
    - Can now enter bag and note information.  this informations is only saved in the .prn format.
    - Can now import .htm files from the peeron web site.  When saving htm files from the web you need to use
      'Save As... (Web Page, HTML Only)'
    - You can now delete parts from your inventory list.
    - Added the normal windows menu bar.
    - Put pretty picture on the buttons.
    - Can now add a part that is not defined in the masterlist.  You can't add it to the masterlist but
      you can add it to your list.
    - Can now search for a specific part number.  does not do partial finds though.
    - The compare will now compare both .inv and .prn files
    - Added the fancy about screen.

Version 0.0.4  02-04-02  
    - Fixed a problem with saving inv files.  was saving in all caps INV so it would not load.
    - Made changes to the colors list.  added more colors.  also showes a sample color.
    - You can now add you own custom colors.
    - prn is now the default way things are opened and saved.

Version 0.0.3  01-08-02
    - Can now export in the Peeron format.
    - Can now double click the selected part to add it to your inventory.

Version 0.0.2  12-04-01
    - Can now convert LDraw .dat files into the inventory format
    - Can now import more than 1 .dat or .txt inventory file.  Just select as many as you want to import.
    - Can now compare 2 list.  Your parts list must be imported then press the compare button to select the list you 
      wish to check.
    - Can now add single parts to your inventory.  Just select the part you wish do add.  Then press the add to 
       inventory button.  You can enter quantity of the part and color.
    - You can now change the quantity of parts in your inventory.  Just select your part in the bottom grid.  Then change 
      the quantity on the right.
    - I changed the file type of inventory files to .inv.  I did this because it would be very bad if someone tried to load a text 
      file that did not contain a proper inventory.

Version 0.0.1  11-26-01
    - Fist release
    

Graphics:
       
      Thanks again to peeron for providing a zip pack of pictures.  This pack does not include partsref images.
      You can find them here: ftp://ftp.peeron.com/thumbs.zip   
           
      A zip of partsref images can be found here: http://www.el-lutzo.de/lego/partlst.html


Credit:

    Special thanks goes to www.peeron.com for allowing me to use their 'Master List of parts/numbers'
    Please remember to send your set inventories to inv@peeron.com.

    LDraw support is possible thanks to the following:
      Anders Isaksson for porting the LDLite libraries to Delphi PASCAL.
      Paul J. Gyugyi for releasing the LDlite source under GNU.    
      Vit Kovalcik for TUniDIB 1.05.
    

Copyright & Acknowledgments:

    Parts Catalog - A program used to inventory your collection of Lego parts.

    Copyright (C) 2001  Bob Kojima

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


    The Inventory files included with Parts Catalog have either been generated 
    by the author or obtained from their respective copyright holders.


Disclaimer:

    Parts Catalog is supplied as is.  The author disclaims all warranties, expressed or implied, including, without limitation, 
    the warranties of merchantability and of fitness for any purpose.  The author assumes no liability for damages, direct or 
    consequential, which may result from the use of Parts Catalog.

    Parts Catalog is not affiliated with or endorsed by The LEGO Group.  Lego is a registered trademark of The LEGO Group. 
    
    
Contact:

      Bob Kojima
      ko@fial.com
      www.bong69.com
      www.partscatalog.da.ru
      
Other products and projects:

      Store your Volkswagen pictures at     www.vw-pix.com
      Inventory your Lego parts with        www.partscatalog.da.ru 
      Mass tag your ogg files with          www.togger.da.ru 
      Dual MP3 player                       www.dj6900.da.ru 